package environment;

import java.awt.Graphics;
import java.awt.Rectangle;
import java.util.ArrayList;

/**
 *	Interface for the environment objects
 *	@author Toar
 */
public interface EnvObjInterface 
{
	/** getters for id, and dimension **/
	public String getID();
	public double getWidth();
	public double getHeight();
	public int getX();
	public int getY();
	public Rectangle getBounds();
	
	/** is pushable differentiates between obstacles and boxes **/
	public boolean isPushable();
	/** isTouching methods used for discovery of objects and collision prevention **/
	public boolean isTouching(int x, int y);
	public boolean isTouching(EnvObjInterface eObj);
	
	/** draws the object **/
	public void draw(Graphics g);
	/** move the object in the world, be aware of other objects **/
	public void move(int howManyX, int howManyY, ArrayList<EnvObjInterface> a);
	/** print object id and location **/
	public void printStats();
}
